<!DOCTYPE html PUBLIC "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
  <title>Workspace Re-Builder Plug-in</title>
</head>

<body><center>
<h2>Workspace Re-Builder Plug-in (version 3.0.0)</h2>
</center>

<p align="right"><i>Last updated: 2006-07-13</i></p>

<h3>Introduction</h3>

<blockquote>
  <p>Your workspace is corrupt and Eclipse won't start. You don't know what happened...you 
    got an OutOfMemoryError, you ran out of disk space, your dog was playing with 
    the power switch on the CPU. All you know is that you have a lot of projects 
    in your (now corrupt) workspace and you don't want to re-build your workspace 
    from scratch.</p>
  <p>Now the Platform/Core team offers this utility plug-in which can perform 
    the basic restoration of your workspace. We cannot restore all metadata, but 
    we will attempt to re-create your projects in your workspace.</p>
</blockquote>

<h3>Before you start</h3>
<blockquote> 
  <p>Please note that this utility only re-builds workspaces which were created 
    in Eclipse 2.0 and later. Restoration of workspaces from Eclipse 1.0 will 
    not work. This version of the restorer must be run using Eclipse 3.0 or greater.
    </p>
</blockquote>

<h3>Setup</h3>
<blockquote> Download the zip file from the web site and extract it to the <code>plugins</code> 
  directory of your install. For instance: 
  <blockquote>
  <code>unzip org.eclipse.core.tools.restorer_3.0.0.zip -d /home/eclipse/plugins</code>
  </blockquote>
  <p>
</blockquote>

<h3>Using the Utility</h3>
<blockquote> 
  <p>The workspace re-builder operates in-place. To start it you only have to 
    set the <tt>-application</tt> argument.</p>
	<blockquote>
  <p><code>eclipse -application org.eclipse.core.tools.restorer.application</code></p>
  </blockquote>
  Note if you currently start Eclipse with a shortcut specifying your workspace 
  (via -data) then you must supply this as well. 
  <blockquote>
  <p>
  <code>eclipse -application org.eclipse.core.tools.restorer.application -data myworkspace</code>
  <p> 
  </blockquote>
</blockquote>

<h3>After Running the Utility</h3>
<blockquote> 
  <p>Each plug-in which contributes a restorer will have a copy of their old metadata 
    directory as a backup. So if you had a metadata area on disk which looked 
    like the following:</p>
  <p>
  <code>
  workspace<br>
  &nbsp;&nbsp;.metadata<br>
  &nbsp;&nbsp;&nbsp;&nbsp;.plugins<br>
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;org.eclipse.core.resources<br>
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;org.eclipse.jdt.core<br>
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;org.eclipse.ui 
  </code>
  <p> Then it will look like this after you run the restorer with the default 
    resources plug-in fragment:
  <P>
  <code>
  workspace<br>
  &nbsp;&nbsp;.metadata<br>
  &nbsp;&nbsp;&nbsp;&nbsp;.plugins<br>
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;org.eclipse.core.resources<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;org.eclipse.core.resources.&lt;timestamp&gt;<br>
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;org.eclipse.jdt.core<br>
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;org.eclipse.ui<br> 
  </code>
  <p> The corrupt data is in the <code>org.eclipse.core.resources.&lt;timestamp</code>&gt; 
    directory. 
  <p>
</blockquote>

<h3>What Does It Do?</h3>
<blockquote> What it restores: 
  <ul>
    <li>the <b>basic</b> state of all your projects that you had in your old workspace 
  </ul>
  <p> What it doesn't restore: 
    
  <ul>
    <li>your workbench preferences 
    <li>bookmarks, tasks, problems, and other markers
    <li>repository synchronization information from your shared projects
    <li>other plug-in specific metadata
  </ul>
<p>

</blockquote>

<h3>Considerations for Restoration Contributors</h3>
<blockquote> The key point to remember when writing a workspace restoration contributor 
  is the fact that we are trying to restore a corrupt workspace. We don't know 
  what caused the workspace to become corrupt nor do we know which files in the 
  metadata are corrupt. Attempts should be made to verify that metadata files 
  are in working order and no assumptions should be made about the validity of 
  any files on disk. 
  <p>
</blockquote>

<h3>Future Work</h3>
<blockquote> Our plug-in offers an extension point where plug-ins can contribute 
  their own restorers. The stand-alone utility will create your projects for you, 
  and then other plug-ins can re-create any state that they know about. Future 
  work includes working with other teams to get their restorers working, as well 
  as improving the one provided for the <code>org.eclipse.core.resources</code> 
  plug-in so it will restore markers, sync info, and persistent properties. 
  <p>
</blockquote>

<h3>Comments/Bugs</h3>
<blockquote> Comments and questions can be directed to the <a href="mailto:platform-core-dev@eclipse.org">platform-core-dev@eclipse.org</a> 
  mailing list. Complaints and bug reports can be directed to the <a href="http://bugs.eclipse.org/bugs">Bugzilla 
  database</a> on <a href="http://eclipse.org">eclipse.org</a> against the <a href="http://bugs.eclipse.org/bugs/enter_bug.cgi?product=Platform">Platform/Core</a> 
  component. 
  <p>
</blockquote>

<h3>Disclaimer</h3>
<blockquote>This plug-in is provided to the user to use at their own risk. No guarantees
are made that the workspace will be able to be restored but if its corrupt then it can't
get any worse!
</blockquote>

<p><a href="hglegal2002.htm"><img SRC="ngibmcpy2002.gif" ALT="Copyright IBM Corporation and others 2000, 2002.  All Rights Reserved." BORDER=0 height=14 width=324></a></p>
</body>
</html>
